<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>



<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.08">
<LINK rel="stylesheet" type="text/css" href="umsroot.css">
<TITLE>
Debugging-related Predicate Properties
</TITLE>
</HEAD>
<BODY >
<A HREF="umsroot076.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="umsroot074.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="umsroot078.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2 CLASS="section"><A NAME="htoc188">14.3</A>&nbsp;&nbsp;Debugging-related Predicate Properties</H2>
Predicates have a number of properties which can be listed using the
<A HREF="../bips/kernel/env/pred-1.html"><B>pred/1</B></A><A NAME="@default769"></A> built-in.
The following predicate flags and properties affect the way the
predicate is traced by the debugger:
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description">
<B>debugged</B><DD CLASS="dd-description"><BR>
Indicates whether the predicate has been compiled in debug-compile mode.
 If <B>on</B>, calls to the predicate's subgoal will be traced.
 The value of this property can only be changed by re-compiling
 the predicate in a different mode.<BR>
<BR>
<DT CLASS="dt-description"><B>leash</B><DD CLASS="dd-description"><BR>
If <B>notrace</B>, no port of the predicate will be shown
 in the trace (but the invocations will be counted nevertheless).
 If <B>stop</B>, the ports of this predicate will be shown and
 the debugger will stop and await new commands.
 (The <B>print</B> setting is currently not supported).
 The value of this property can be changed with
 <A HREF="../bips/kernel/debug/traceable-1.html"><B>traceable/1</B></A><A NAME="@default770"></A>,
 <A HREF="../bips/kernel/debug/untraceable-1.html"><B>untraceable/1</B></A><A NAME="@default771"></A> or
 <A HREF="../bips/kernel/compiler/set_flag-3.html"><B>set_flag/3</B></A><A NAME="@default772"></A>.<BR>
<BR>
<DT CLASS="dt-description"><B>spy</B><DD CLASS="dd-description"><BR>
If <B>on</B>, the predicate has a spy-point and the debugger will
 stop at its ports when in leap mode.
 The value of this property can be changed with
 <A HREF="../bips/kernel/debug/spy-1.html"><B>spy/1</B></A><A NAME="@default773"></A>,
 <A HREF="../bips/kernel/debug/nospy-1.html"><B>nospy/1</B></A><A NAME="@default774"></A> or
 <A HREF="../bips/kernel/compiler/set_flag-3.html"><B>set_flag/3</B></A><A NAME="@default775"></A>.<BR>
<BR>
<DT CLASS="dt-description"><B>skipped</B><DD CLASS="dd-description"><BR>
If <B>on</B>, the predicate's subgoal will not be traced even
 if it has been compiled in debug-compile mode.
 The value of this property can be changed with
 <A HREF="../bips/kernel/debug/skipped-1.html"><B>skipped/1</B></A><A NAME="@default776"></A>,
 <A HREF="../bips/kernel/debug/unskipped-1.html"><B>unskipped/1</B></A><A NAME="@default777"></A> or
 <A HREF="../bips/kernel/compiler/set_flag-3.html"><B>set_flag/3</B></A><A NAME="@default778"></A>.<BR>
<BR>
<DT CLASS="dt-description"><B>start_tracing</B><DD CLASS="dd-description"><BR>
If <B>on</B>, a call to the predicate will activate the debugger if it
 is not already running.
 Only the execution within this predicate's box will be traced.
 This is useful for debugging part of a big
 program without having to change the source code.
 The effect is similar to wrapping all call of the predicate into
 <A HREF="../bips/kernel/debug/trace-1.html"><B>trace/1</B></A><A NAME="@default779"></A>.
</DL>
<HR>
<A HREF="umsroot076.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="umsroot074.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="umsroot078.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
